package com.Algorithm.HUAWEI.two20220303;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: zjz
 * @Date: 2022/03/18/15:52
 * @Description:
 * @Target:
 */
public class 字符串加解密 {
/*
* 描述
        对输入的字符串进行加解密，并输出。
        加密方法为：
        当内容是英文字母时则用该英文字母的后一个字母替换，同时字母变换大小写,如字母a时则替换为B；字母Z时则替换为a；
        当内容是数字时则把该数字加1，如0替换1，1替换2，9替换0；
        其他字符不做变化。
        解密方法为加密的逆过程。
        数据范围：输入的两个字符串长度满足 1≤n≤1000  ，保证输入的字符串都是只由大小写字母或者数字组成
        输入描述：
        第一行输入一串要加密的密码
        第二行输入一串加过密的密码

        输出描述：
        第一行输出加密后的字符
        第二行输出解密后的字符

        示例1
        输入：
        abcdefg
        BCDEFGH
        复制
        输出：
        BCDEFGH
        abcdefg

*
*
* */


    //         当内容是英文字母时则用该英文字母的后一个字母替换，同时字母变换大小写,如字母a时则替换为B；字母Z时则替换为a；
    //        当内容是数字时则把该数字加1，如0替换1，1替换2，9替换0；
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()){
            System.out.println(jiaMi(in.nextLine()));
            System.out.println(jieMi(in.nextLine()));
        }
    }

    static String jiaMi(String ss){
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < ss.length(); i++) {
            if (checkRange(ss.charAt(i),'0','9')){
                if (ss.charAt(i)!='9'){
                    stringBuffer.append((char)(ss.charAt(i)+1));
                }else {
                    stringBuffer.append('0');
                }
            }else if (checkRange(ss.charAt(i),'a','z')){
                if (ss.charAt(i)!='z'){
                    stringBuffer.append((char) (ss.charAt(i)-31));
                }else {
                    stringBuffer.append('A');
                }
            }else if (checkRange(ss.charAt(i),'A','Z')){
                if (ss.charAt(i)!='Z'){
                    stringBuffer.append((char) (ss.charAt(i)+33));
                }else {
                    stringBuffer.append('a');
                }
            }
        }
        return stringBuffer.toString();
    }



    static String jieMi(String ss){
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < ss.length(); i++) {
            if (checkRange(ss.charAt(i),'0','9')){
                if (ss.charAt(i)!='0'){
                    stringBuffer.append((char)(ss.charAt(i)-1));
                }else {
                    stringBuffer.append('9');
                }
            }else if (checkRange(ss.charAt(i),'a','z')){
                if (ss.charAt(i)!='a'){
                    stringBuffer.append((char) (ss.charAt(i)-33));
                }else {
                    stringBuffer.append('Z');
                }
            }else if (checkRange(ss.charAt(i),'A','Z')){
                if (ss.charAt(i)!='A'){
                    stringBuffer.append((char) (ss.charAt(i)+31));
                }else {
                    stringBuffer.append('z');
                }
            }
        }
        return stringBuffer.toString();
    }


    static boolean checkRange(int x,int a,int b){
        if (x<a||x>b){
            return false;
        }else {
            return true;
        }
    }
}
